package com.example.service;

import com.example.entity.Cart;
import com.example.entity.dto.AmountDTO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 购物车
 */
public interface CartService {

    /**
     * 计算总价
     */
    AmountDTO calcTotal(Integer userId, Integer businessId);

    /**
     * 新增
     */
    void add(Cart cart);

    /**
     * 删除
     */
    void deleteById(Integer id);

    /**
     * 批量删除
     */
    void deleteBatch(List<Integer> ids);

    /**
     * 修改
     */
    void updateById(Cart cart);

    /**
     * 根据ID查询
     */
    Cart selectById(Integer id);

    /**
     * 查询所有
     */
    List<Cart> selectAll(Cart cart);

    /**
     * 分页查询
     */
    PageInfo<Cart> selectPage(Cart cart, Integer pageNum, Integer pageSize);

    /**
     * 根据商家ID删除
     */
    void deleteByBusiness(Integer businessId, Integer userId);

    /**
     * 根据用户ID查询
     */
    List<Cart> selectUserCart(Integer id, Integer businessId);
}
